package ar.com.psicosoft.model.psicosoft;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;

/**
 * The persistent class for the tipo_factura database table.
 * 
 */
@Entity
@Table(name = "tipo_factura", schema = "psicosoft")
@NamedQuery(name = "TipoFactura.findAll", query = "SELECT t FROM TipoFactura t")
public class TipoFactura implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name = "sec_tipo_factura", sequenceName = "psicosoft.sec_tipo_factura")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sec_tipo_factura")
	@Column(name = "\"idTipoFactura\"", unique = true, nullable = false)
	private Integer idTipoFactura;

	private Timestamp baja;

	@Column(name = "\"nombreE\"", length = 50)
	private String nombreE;

	@Column(name = "\"nombreR\"", length = 50)
	private String nombreR;

	// bi-directional many-to-one association to Factura
	@OneToMany(mappedBy = "tipoFactura")
	private List<Factura> facturas;

	public TipoFactura() {
	}

	public Integer getIdTipoFactura() {
		return this.idTipoFactura;
	}

	public void setIdTipoFactura(Integer idTipoFactura) {
		this.idTipoFactura = idTipoFactura;
	}

	public Timestamp getBaja() {
		return this.baja;
	}

	public void setBaja(Timestamp baja) {
		this.baja = baja;
	}

	public String getNombreE() {
		return this.nombreE;
	}

	public void setNombreE(String nombreE) {
		this.nombreE = nombreE;
	}

	public String getNombreR() {
		return this.nombreR;
	}

	public void setNombreR(String nombreR) {
		this.nombreR = nombreR;
	}

	public List<Factura> getFacturas() {
		return this.facturas;
	}

	public void setFacturas(List<Factura> facturas) {
		this.facturas = facturas;
	}

	public Factura addFactura(Factura factura) {
		getFacturas().add(factura);
		factura.setTipoFactura(this);

		return factura;
	}

	public Factura removeFactura(Factura factura) {
		getFacturas().remove(factura);
		factura.setTipoFactura(null);

		return factura;
	}

}